-- 车库

-- 初始化一个计时器
if var.timer == nil then
    var.timer = 0
end

-- 如果超过一定的时间，重置输出
if var.timer > 500 then
    out = {}
    var.timer = 0
end

for k, v in pairs(red) do
    local _v = v % 1000
    -- 必要的判断，防止可能出现的负数影响
    if _v > 0 and _v < 100 and k ~= 'signal-green' then
        -- 有新信号时，先重置以前的信号
        out = {}
    end
end

for k, v in pairs(red) do
    local _v = v % 1000
    -- 必要的判断，防止可能出现的负数影响
    if _v > 0 and _v < 100 and k ~= 'signal-green' then
        out[k] = _v
        -- 正确输出时，重置计时器
        var.timer = 0
    end
end

var.timer = var.timer + 1

delay = 1